With recent technological advancements such as Software-Defined Networking (SDN) and Network Function Virtualization (NFV), operators have coined the term “service chaining” to mean the differentiated forwarding of traffic flows across a policy defined set of middle boxes (also commonly referred to as services, inline services, appliances, network functions/vNFs in case of NFV, or Service Functions (SF)). Examples SFs include firewalls, content filters, Intrusion Detection Systems (IDS), Deep Packet Inspection (DPI), Network Address Translation (NAT), content caches, load-balancers, Wide Area Network (WAN) accelerators, multimedia transcoders, logging/metering/charging/advanced charging applications, etc.
Service chaining requires a classification process to forward packets on the correct service chain (or service function path (SFP)), followed by the differentiated forwarding/routing of the traffic flow across the right set of SFs or service function path (SFP). Given the importance of this networking use case, the Internet Engineering Task Force (IETF) is developing protocols that will allow more efficient ways to implement SFCs. The IETF is working on the definition of a Network Service Header (NSH) that will be applied to packets by a classifier (“Network Service Header”, IETF standards track draft, “draft-ietf-sfc-nsh-01,”). Then Service Function Forwarders (SFFs) will create the Service Function Paths (SFP) in the form of an overlay. IETF's solution is applicable to both physical Network Functions (NF) and virtual NFs (vNF) as defined by European Telecommunications Standards Institute (ETSI) Network Functions Virtualization (NFV), referred to as SF in IETF.
IETF standards track draft, “Network Service Header” (“draft-ietf-sfc-nsh-01”) describes that the NSH is composed of the following elements: Service path identification, Transport independent per-packet/frame service metadata, and optional variable TLV metadata. The NSH is appended to an IP packet as performed in a standard encapsulation tunneling mechanism. The NSH and the payload can then be encapsulated in an outer transport header.
There are various reasons why network operators desire to measure traffic in their networks. Network measurement, for example, provides the data required for better network control, enabling the operator to characterize the state of the network, the traffic demands, and the actual consumption of network resources. Network measurement also enables troubleshooting and may prevent service-level agreement (SLA) violations before they occur.
A network controller (e.g., an SDN controller) can program SFFs (and SFs) to add information (markers) to the packets while forwarding them. The markers (e.g., transport independent per-packet/frame service metadata, optional variable TLV metadata or other types of metadata) are added to the NSH header. The markers can include timestamps, packet coloring, packet intercept (data collection instructions), etc. The markers are added to each packet when the packet traverses the classifier and/or SFFs and SFs in the network and can be collected and sent (e.g., by an egress SFF) to a data collector (e.g., an SDN controller or another node in the network). The markers are used for various monitoring tasks such as detecting latency, loss, jitter, etc.